<!DOCTYPE html>

<html>
  <head>
    <title>Protocol Documentation</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
    <style>
      body {
        width: 60em;
        margin: 1em auto;
        color: #222;
        font-family: "Ubuntu", sans-serif;
        padding-bottom: 4em;
      }

      h1 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      h2 {
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
        margin: 1.5em 0;
      }

      h3 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      a {
        text-decoration: none;
        color: #567e25;
      }

      table {
        width: 100%;
        font-size: 80%;
        border-collapse: collapse;
      }

      thead {
        font-weight: 700;
        background-color: #dcdcdc;
      }

      tbody tr:nth-child(even) {
        background-color: #fbfbfb;
      }

      td {
        border: 1px solid #ccc;
        padding: 0.5ex 2ex;
      }

      td p {
        text-indent: 1em;
        margin: 0;
      }

      td p:nth-child(1) {
        text-indent: 0;  
      }

       
      .field-table td:nth-child(1) {  
        width: 10em;
      }
      .field-table td:nth-child(2) {  
        width: 10em;
      }
      .field-table td:nth-child(3) {  
        width: 6em;
      }
      .field-table td:nth-child(4) {  
        width: auto;
      }

       
      .extension-table td:nth-child(1) {  
        width: 10em;
      }
      .extension-table td:nth-child(2) {  
        width: 10em;
      }
      .extension-table td:nth-child(3) {  
        width: 10em;
      }
      .extension-table td:nth-child(4) {  
        width: 5em;
      }
      .extension-table td:nth-child(5) {  
        width: auto;
      }

       
      .enum-table td:nth-child(1) {  
        width: 10em;
      }
      .enum-table td:nth-child(2) {  
        width: 10em;
      }
      .enum-table td:nth-child(3) {  
        width: auto;
      }

       
      .scalar-value-types-table tr {
        height: 3em;
      }

       
      #toc-container ul {
        list-style-type: none;
        padding-left: 1em;
        line-height: 180%;
        margin: 0;
      }
      #toc > li > a {
        font-weight: bold;
      }

       
      .file-heading {
        width: 100%;
        display: table;
        border-bottom: 1px solid #aaa;
        margin: 4em 0 1.5em 0;
      }
      .file-heading h2 {
        border: none;
        display: table-cell;
      }
      .file-heading a {
        text-align: right;
        display: table-cell;
      }

       
      .badge {
        width: 1.6em;
        height: 1.6em;
        display: inline-block;

        line-height: 1.6em;
        text-align: center;
        font-weight: bold;
        font-size: 60%;

        color: #89ba48;
        background-color: #dff0c8;

        margin: 0.5ex 1em 0.5ex -1em;
        border: 1px solid #fbfbfb;
        border-radius: 1ex;
      }
    </style>

    
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </head>

  <body>

    <h1 id="title">Protocol Documentation</h1>

    <h2>Table of Contents</h2>

    <div id="toc-container">
      <ul id="toc">
        
          
          <li>
            <a href="#jmash%2fprotobuf%2fbasic.proto">jmash/protobuf/basic.proto</a>
            <ul>
              
                <li>
                  <a href="#jmash.protobuf.Chart"><span class="badge">M</span>Chart</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ChartSeries"><span class="badge">M</span>ChartSeries</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.CustomEnumValue"><span class="badge">M</span>CustomEnumValue</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.CustomEnumValueMap"><span class="badge">M</span>CustomEnumValueMap</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.CustomEnumValueMap.ValuesEntry"><span class="badge">M</span>CustomEnumValueMap.ValuesEntry</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.Entry"><span class="badge">M</span>Entry</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.EntryList"><span class="badge">M</span>EntryList</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.EntryMap"><span class="badge">M</span>EntryMap</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.EntryMap.ValuesEntry"><span class="badge">M</span>EntryMap.ValuesEntry</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.EnumEntryReq"><span class="badge">M</span>EnumEntryReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.EnumValueList"><span class="badge">M</span>EnumValueList</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelContentData"><span class="badge">M</span>ExcelContentData</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelContentData.RowDataEntry"><span class="badge">M</span>ExcelContentData.RowDataEntry</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelHeaderData"><span class="badge">M</span>ExcelHeaderData</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelImportSheet"><span class="badge">M</span>ExcelImportSheet</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelImportSheet.PropColumnEntry"><span class="badge">M</span>ExcelImportSheet.PropColumnEntry</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelPreviewData"><span class="badge">M</span>ExcelPreviewData</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ExcelSheet"><span class="badge">M</span>ExcelSheet</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.Geolocation"><span class="badge">M</span>Geolocation</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.TableHead"><span class="badge">M</span>TableHead</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.TenantReq"><span class="badge">M</span>TenantReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.TreeList"><span class="badge">M</span>TreeList</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.TreeModel"><span class="badge">M</span>TreeModel</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.UUIDValue"><span class="badge">M</span>UUIDValue</a>
                </li>
              
              
                <li>
                  <a href="#jmash.protobuf.Gender"><span class="badge">E</span>Gender</a>
                </li>
              
              
                <li>
                  <a href="#jmash%2fprotobuf%2fbasic.proto-extensions"><span class="badge">X</span>File-level Extensions</a>
                </li>
              
                <li>
                  <a href="#jmash%2fprotobuf%2fbasic.proto-extensions"><span class="badge">X</span>File-level Extensions</a>
                </li>
              
              
            </ul>
          </li>
        
          
          <li>
            <a href="#jmash%2fprotobuf%2ffile_basic.proto">jmash/protobuf/file_basic.proto</a>
            <ul>
              
                <li>
                  <a href="#jmash.protobuf.DownloadReq"><span class="badge">M</span>DownloadReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.DownloadSrcReq"><span class="badge">M</span>DownloadSrcReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileBase64Req"><span class="badge">M</span>FileBase64Req</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileDownloadResp"><span class="badge">M</span>FileDownloadResp</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileHash"><span class="badge">M</span>FileHash</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileHashHex"><span class="badge">M</span>FileHashHex</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileInfo"><span class="badge">M</span>FileInfo</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileSrcReq"><span class="badge">M</span>FileSrcReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileUploadReq"><span class="badge">M</span>FileUploadReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.FileWebUploadReq"><span class="badge">M</span>FileWebUploadReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ThumbDownloadReq"><span class="badge">M</span>ThumbDownloadReq</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ThumbSrcDownloadReq"><span class="badge">M</span>ThumbSrcDownloadReq</a>
                </li>
              
              
                <li>
                  <a href="#jmash.protobuf.FileType"><span class="badge">E</span>FileType</a>
                </li>
              
                <li>
                  <a href="#jmash.protobuf.ThumbType"><span class="badge">E</span>ThumbType</a>
                </li>
              
              
              
            </ul>
          </li>
        
        <li><a href="#scalar-value-types">Scalar Value Types</a></li>
      </ul>
    </div>

    
      
      <div class="file-heading">
        <h2 id="jmash/protobuf/basic.proto">jmash/protobuf/basic.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="jmash.protobuf.Chart">Chart</h3>
        <p>图表数据</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>x_axis_data</td>
                  <td><a href="#string">string</a></td>
                  <td>repeated</td>
                  <td><p>X轴坐标数组 </p></td>
                </tr>
              
                <tr>
                  <td>series</td>
                  <td><a href="#jmash.protobuf.ChartSeries">ChartSeries</a></td>
                  <td>repeated</td>
                  <td><p>展示数据数组 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ChartSeries">ChartSeries</h3>
        <p>图标数据</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>数据名称 </p></td>
                </tr>
              
                <tr>
                  <td>data</td>
                  <td><a href="#double">double</a></td>
                  <td>repeated</td>
                  <td><p>展示数据数组 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.CustomEnumValue">CustomEnumValue</h3>
        <p>自定义枚举值</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>ordinal</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>枚举值 </p></td>
                </tr>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>枚举名 </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>proto配置value值. </p></td>
                </tr>
              
                <tr>
                  <td>display_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>显示名称. </p></td>
                </tr>
              
                <tr>
                  <td>type</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>枚举类型 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.CustomEnumValueMap">CustomEnumValueMap</h3>
        <p>枚举值枚举</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>values</td>
                  <td><a href="#jmash.protobuf.CustomEnumValueMap.ValuesEntry">CustomEnumValueMap.ValuesEntry</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.CustomEnumValueMap.ValuesEntry">CustomEnumValueMap.ValuesEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#jmash.protobuf.CustomEnumValue">CustomEnumValue</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.Entry">Entry</h3>
        <p>Entry</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.EntryList">EntryList</h3>
        <p>Entry List</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>values</td>
                  <td><a href="#jmash.protobuf.Entry">Entry</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.EntryMap">EntryMap</h3>
        <p>键值对Map</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>values</td>
                  <td><a href="#jmash.protobuf.EntryMap.ValuesEntry">EntryMap.ValuesEntry</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.EntryMap.ValuesEntry">EntryMap.ValuesEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.EnumEntryReq">EnumEntryReq</h3>
        <p>枚举查询请求</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>class_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>枚举类名称 </p></td>
                </tr>
              
                <tr>
                  <td>type</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>枚举类型(默认0) </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.EnumValueList">EnumValueList</h3>
        <p>枚举值列表</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>values</td>
                  <td><a href="#google.protobuf.EnumValue">google.protobuf.EnumValue</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelContentData">ExcelContentData</h3>
        <p>Excel 内容数据</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>row_data</td>
                  <td><a href="#jmash.protobuf.ExcelContentData.RowDataEntry">ExcelContentData.RowDataEntry</a></td>
                  <td>repeated</td>
                  <td><p>行数据 &lt;prop,value&gt; </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelContentData.RowDataEntry">ExcelContentData.RowDataEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelHeaderData">ExcelHeaderData</h3>
        <p>Excel 表头数据</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>label</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>表头 </p></td>
                </tr>
              
                <tr>
                  <td>prop</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>字段名 </p></td>
                </tr>
              
                <tr>
                  <td>column_index</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>列Index </p></td>
                </tr>
              
                <tr>
                  <td>children</td>
                  <td><a href="#jmash.protobuf.ExcelHeaderData">ExcelHeaderData</a></td>
                  <td>repeated</td>
                  <td><p>children </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelImportSheet">ExcelImportSheet</h3>
        <p>Excel 导入Sheet 前端定义位置</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Excel 文件 </p></td>
                </tr>
              
                <tr>
                  <td>sheet</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>sheet </p></td>
                </tr>
              
                <tr>
                  <td>data_start_row</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>数据开始行 </p></td>
                </tr>
              
                <tr>
                  <td>prop_column</td>
                  <td><a href="#jmash.protobuf.ExcelImportSheet.PropColumnEntry">ExcelImportSheet.PropColumnEntry</a></td>
                  <td>repeated</td>
                  <td><p>属性，列索引对应 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelImportSheet.PropColumnEntry">ExcelImportSheet.PropColumnEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelPreviewData">ExcelPreviewData</h3>
        <p>Excel预览数据</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>header_list</td>
                  <td><a href="#jmash.protobuf.ExcelHeaderData">ExcelHeaderData</a></td>
                  <td>repeated</td>
                  <td><p>数据头信息 </p></td>
                </tr>
              
                <tr>
                  <td>content_list</td>
                  <td><a href="#jmash.protobuf.ExcelContentData">ExcelContentData</a></td>
                  <td>repeated</td>
                  <td><p>数据信息 </p></td>
                </tr>
              
                <tr>
                  <td>header_start_row</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>表头开始行 </p></td>
                </tr>
              
                <tr>
                  <td>header_count</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>表头数 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ExcelSheet">ExcelSheet</h3>
        <p>Excel Sheet 表</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Excel 文件 </p></td>
                </tr>
              
                <tr>
                  <td>sheet</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>sheet </p></td>
                </tr>
              
                <tr>
                  <td>header_start_row</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>表头开始行 </p></td>
                </tr>
              
                <tr>
                  <td>header_count</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>表头数 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.Geolocation">Geolocation</h3>
        <p>地理信息位置</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>latitude</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>The latitude in degrees. It must be in the range [-90.0, &#43;90.0]. </p></td>
                </tr>
              
                <tr>
                  <td>longitude</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>The longitude in degrees. It must be in the range [-180.0, &#43;180.0]. </p></td>
                </tr>
              
                <tr>
                  <td>accuracy</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>精度 </p></td>
                </tr>
              
                <tr>
                  <td>altitude</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>海拔高度 </p></td>
                </tr>
              
                <tr>
                  <td>altitude_accracy</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>海拔高度精度 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.TableHead">TableHead</h3>
        <p>表头</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>label</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>表头名称 </p></td>
                </tr>
              
                <tr>
                  <td>prop</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>属性 </p></td>
                </tr>
              
                <tr>
                  <td>serial</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>是否序号 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.TenantReq">TenantReq</h3>
        <p>租户</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.TreeList">TreeList</h3>
        <p>Tree List.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>results</td>
                  <td><a href="#jmash.protobuf.TreeModel">TreeModel</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.TreeModel">TreeModel</h3>
        <p>TreeModel</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Key Value </p></td>
                </tr>
              
                <tr>
                  <td>label</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name </p></td>
                </tr>
              
                <tr>
                  <td>parentId</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Parent Value </p></td>
                </tr>
              
                <tr>
                  <td>children</td>
                  <td><a href="#jmash.protobuf.TreeModel">TreeModel</a></td>
                  <td>repeated</td>
                  <td><p>child Model </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.UUIDValue">UUIDValue</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>most_sig_bits</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>least_sig_bits</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      

      
        <h3 id="jmash.protobuf.Gender">Gender</h3>
        <p>性别</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>unknown</td>
                <td>0</td>
                <td><p>未知的性别</p></td>
              </tr>
            
              <tr>
                <td>male</td>
                <td>1</td>
                <td><p>男性</p></td>
              </tr>
            
              <tr>
                <td>female</td>
                <td>2</td>
                <td><p>女性</p></td>
              </tr>
            
              <tr>
                <td>undeclared</td>
                <td>9</td>
                <td><p>未说明的性别</p></td>
              </tr>
            
          </tbody>
        </table>
      

      
        <h3 id="jmash/protobuf/basic.proto-extensions">File-level Extensions</h3>
        <table class="extension-table">
          <thead>
            <tr><td>Extension</td><td>Type</td><td>Base</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>display_name</td>
                <td><a href="#string">string</a></td>
                <td><a href="#google.protobuf.EnumValueOptions">.google.protobuf.EnumValueOptions</a></td>
                <td>50001</td>
                <td><p>枚举显示名</p></td>
              </tr>
            
              <tr>
                <td>type</td>
                <td><a href="#int32">int32</a></td>
                <td><a href="#google.protobuf.EnumValueOptions">.google.protobuf.EnumValueOptions</a></td>
                <td>50002</td>
                <td><p>枚举类型</p></td>
              </tr>
            
          </tbody>
        </table>
      

      
    
      
      <div class="file-heading">
        <h2 id="jmash/protobuf/file_basic.proto">jmash/protobuf/file_basic.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="jmash.protobuf.DownloadReq">DownloadReq</h3>
        <p>下载请求</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>file_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件下载 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.DownloadSrcReq">DownloadSrcReq</h3>
        <p>下载请求Src</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_src</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件下载 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileBase64Req">FileBase64Req</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>base64</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Base64文件内容 </p></td>
                </tr>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件名称 </p></td>
                </tr>
              
                <tr>
                  <td>content_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>内容类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_dir</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>保存路径 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileDownloadResp">FileDownloadResp</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>body</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>文件内容 </p></td>
                </tr>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件名称 </p></td>
                </tr>
              
                <tr>
                  <td>content_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>内容类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_ext</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件后缀 </p></td>
                </tr>
              
                <tr>
                  <td>file_type</td>
                  <td><a href="#jmash.protobuf.FileType">FileType</a></td>
                  <td></td>
                  <td><p>文件格式类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
                <tr>
                  <td>file_part</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>文件部分 </p></td>
                </tr>
              
                <tr>
                  <td>file_width</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片/视频宽度 </p></td>
                </tr>
              
                <tr>
                  <td>file_height</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片/视频高度 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileHash">FileHash</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>hash_sm3</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>File SM3信息摘要 </p></td>
                </tr>
              
                <tr>
                  <td>hash_sha256</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>File sha256 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileHashHex">FileHashHex</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>hash_sm3</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>File SM3信息摘要 </p></td>
                </tr>
              
                <tr>
                  <td>hash_sha256</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>File sha256 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileInfo">FileInfo</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件ID </p></td>
                </tr>
              
                <tr>
                  <td>file_src</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件存放路径 </p></td>
                </tr>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件名称 </p></td>
                </tr>
              
                <tr>
                  <td>content_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>内容类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_ext</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件后缀 </p></td>
                </tr>
              
                <tr>
                  <td>file_type</td>
                  <td><a href="#jmash.protobuf.FileType">FileType</a></td>
                  <td></td>
                  <td><p>文件格式类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
                <tr>
                  <td>hash_sm3</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>File SM3信息摘要 </p></td>
                </tr>
              
                <tr>
                  <td>hash_sha256</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>File sha256 </p></td>
                </tr>
              
                <tr>
                  <td>file_width</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片/视频宽度 </p></td>
                </tr>
              
                <tr>
                  <td>file_height</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片/视频高度 </p></td>
                </tr>
              
                <tr>
                  <td>file_time</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>视频/音频时长 </p></td>
                </tr>
              
                <tr>
                  <td>file_location</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>地理位置 </p></td>
                </tr>
              
                <tr>
                  <td>position</td>
                  <td><a href="#jmash.protobuf.Geolocation">Geolocation</a></td>
                  <td></td>
                  <td><p>文件拍摄位置 </p></td>
                </tr>
              
                <tr>
                  <td>create_date</td>
                  <td><a href="#google.protobuf.Timestamp">google.protobuf.Timestamp</a></td>
                  <td></td>
                  <td><p>创建时间 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileSrcReq">FileSrcReq</h3>
        <p>文件Src请求.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_src</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件下载 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileUploadReq">FileUploadReq</h3>
        <p>文件上传</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>body</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>文件内容 </p></td>
                </tr>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件名称 </p></td>
                </tr>
              
                <tr>
                  <td>content_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>内容类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
                <tr>
                  <td>file_dir</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>相对路径 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.FileWebUploadReq">FileWebUploadReq</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>body</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>文件内容 </p></td>
                </tr>
              
                <tr>
                  <td>file_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件名称 </p></td>
                </tr>
              
                <tr>
                  <td>content_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>内容类型 </p></td>
                </tr>
              
                <tr>
                  <td>file_size</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>文件大小 </p></td>
                </tr>
              
                <tr>
                  <td>file_dir</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>保存路径 </p></td>
                </tr>
              
                <tr>
                  <td>request_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件唯一ID </p></td>
                </tr>
              
                <tr>
                  <td>file_part</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>文件部分 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ThumbDownloadReq">ThumbDownloadReq</h3>
        <p>缩略图下载请求</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>tenant</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>租户. </p></td>
                </tr>
              
                <tr>
                  <td>file_id</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件下载 </p></td>
                </tr>
              
                <tr>
                  <td>thumb_type</td>
                  <td><a href="#jmash.protobuf.ThumbType">ThumbType</a></td>
                  <td></td>
                  <td><p>缩略图类型 </p></td>
                </tr>
              
                <tr>
                  <td>width</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片宽度 </p></td>
                </tr>
              
                <tr>
                  <td>height</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片高度 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="jmash.protobuf.ThumbSrcDownloadReq">ThumbSrcDownloadReq</h3>
        <p>缩略图下载请求</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>file_src</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>文件Src </p></td>
                </tr>
              
                <tr>
                  <td>thumb_type</td>
                  <td><a href="#jmash.protobuf.ThumbType">ThumbType</a></td>
                  <td></td>
                  <td><p>缩略图类型 </p></td>
                </tr>
              
                <tr>
                  <td>width</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片宽度 </p></td>
                </tr>
              
                <tr>
                  <td>height</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>图片高度 </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      

      
        <h3 id="jmash.protobuf.FileType">FileType</h3>
        <p>文件类型</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>text</td>
                <td>0</td>
                <td><p>文档</p></td>
              </tr>
            
              <tr>
                <td>video</td>
                <td>1</td>
                <td><p>视频</p></td>
              </tr>
            
              <tr>
                <td>image</td>
                <td>2</td>
                <td><p>图片</p></td>
              </tr>
            
              <tr>
                <td>audio</td>
                <td>3</td>
                <td><p>音频</p></td>
              </tr>
            
              <tr>
                <td>zip</td>
                <td>4</td>
                <td><p>压缩文件</p></td>
              </tr>
            
              <tr>
                <td>file</td>
                <td>5</td>
                <td><p>其他文件</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="jmash.protobuf.ThumbType">ThumbType</h3>
        <p>图片缩放类型</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>resize</td>
                <td>0</td>
                <td><p>等比例缩放</p></td>
              </tr>
            
              <tr>
                <td>white</td>
                <td>1</td>
                <td><p>补白</p></td>
              </tr>
            
              <tr>
                <td>trans</td>
                <td>2</td>
                <td><p>补透明</p></td>
              </tr>
            
              <tr>
                <td>clip</td>
                <td>3</td>
                <td><p>裁剪</p></td>
              </tr>
            
          </tbody>
        </table>
      

      

      
    

    <h2 id="scalar-value-types">Scalar Value Types</h2>
    <table class="scalar-value-types-table">
      <thead>
        <tr><td>.proto Type</td><td>Notes</td><td>C++</td><td>Java</td><td>Python</td><td>Go</td><td>C#</td><td>PHP</td><td>Ruby</td></tr>
      </thead>
      <tbody>
        
          <tr id="double">
            <td>double</td>
            <td></td>
            <td>double</td>
            <td>double</td>
            <td>float</td>
            <td>float64</td>
            <td>double</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="float">
            <td>float</td>
            <td></td>
            <td>float</td>
            <td>float</td>
            <td>float</td>
            <td>float32</td>
            <td>float</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="int32">
            <td>int32</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="int64">
            <td>int64</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="uint32">
            <td>uint32</td>
            <td>Uses variable-length encoding.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int/long</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="uint64">
            <td>uint64</td>
            <td>Uses variable-length encoding.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint32">
            <td>sint32</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint64">
            <td>sint64</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="fixed32">
            <td>fixed32</td>
            <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="fixed64">
            <td>fixed64</td>
            <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="sfixed32">
            <td>sfixed32</td>
            <td>Always four bytes.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sfixed64">
            <td>sfixed64</td>
            <td>Always eight bytes.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="bool">
            <td>bool</td>
            <td></td>
            <td>bool</td>
            <td>boolean</td>
            <td>boolean</td>
            <td>bool</td>
            <td>bool</td>
            <td>boolean</td>
            <td>TrueClass/FalseClass</td>
          </tr>
        
          <tr id="string">
            <td>string</td>
            <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
            <td>string</td>
            <td>String</td>
            <td>str/unicode</td>
            <td>string</td>
            <td>string</td>
            <td>string</td>
            <td>String (UTF-8)</td>
          </tr>
        
          <tr id="bytes">
            <td>bytes</td>
            <td>May contain any arbitrary sequence of bytes.</td>
            <td>string</td>
            <td>ByteString</td>
            <td>str</td>
            <td>[]byte</td>
            <td>ByteString</td>
            <td>string</td>
            <td>String (ASCII-8BIT)</td>
          </tr>
        
      </tbody>
    </table>
  </body>
</html>

